1. Technical Field
The present invention relates generally to networks and more particularly to supporting redundant state machines in network elements.
2. Description of the Background Art
A state machine receives excitations and in response, depending on what state the machine was in, changes to another state. State machines are useful in various applications, which may require a passive redundant machine to take over the operation of an active machine when this active machine becomes inactive, e.g., due to erroneous operations, power failures, etc. Presently, state machines are used redundantly in numerous architectures, but none of these are satisfactorily efficient for use in network elements of signaling systems, and telecommunication systems in particular. For example, a prior art solution copies the states of the active state machine to the passive state machine(s), i.e., the active machine responds to the incoming excitations, changes to a new state, and this new state is copied or transferred to the passive state machine. However, the new state must be stable before being transferred, and transferring states increases the chances of producing errors in both acquiring and transferring the states. In many cases, the data representing the transferred states must be compressed, then uncompressed. Further, responding to the excitations to change the states requires costly computing power. This cost increases significantly where many states are involved, such as in a gateway having thousands of ports, each of which must be stable and report it stabilized state before acquiring the new state. Committing, i.e., ensuring a state is transferable before transferring, reduces transferring erroneous states, but also involves another level of checking and increases costs.
Therefore, what is needed is a mechanism for supporting redundant state machines with less cost and higher efficiency.